{
guint flags_to_set;
guint flags_to_unset;
+
+ gint old_scale_factor;
};
/* --- prototypes --- */
{
GtkStateData data;
+ data.old_scale_factor = gtk_widget_get_scale_factor (widget);
data.flags_to_set = flags_to_set;
data.flags_to_unset = flags_to_unset;
{
GtkStateData data;
+ data.old_scale_factor = gtk_widget_get_scale_factor (widget);
+
if (sensitive)
{
data.flags_to_set = 0;
return;
}
+ data.old_scale_factor = gtk_widget_get_scale_factor (widget);
+
/* keep this function in sync with gtk_menu_attach_to_widget()
*/
GtkStateFlags new_flags, old_flags = priv->state_flags;
GtkStateData child_data;
GtkWidget *child;
+ gint new_scale_factor = gtk_widget_get_scale_factor (widget);
priv->state_flags |= data->flags_to_set;
priv->state_flags &= ~(data->flags_to_unset);
new_flags = priv->state_flags;
+ if (data->old_scale_factor != new_scale_factor)
+ _gtk_widget_scale_changed (widget);
+
if (old_flags != new_flags)
{
g_object_ref (widget);
/* Make sure to only propagate the right states further */
+ child_data.old_scale_factor = new_scale_factor;
child_data.flags_to_set = data->flags_to_set & GTK_STATE_FLAGS_DO_PROPAGATE;
child_data.flags_to_unset = data->flags_to_unset & GTK_STATE_FLAGS_DO_PROPAGATE;